package version2024.medium;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 * @author sunhl
 * @Description: HJ92 在字符串中找出连续最长的数字串  字符串, 正则
 * @Date: created in 2025/1/9 星期四 14:02
 * @Modified By:
 */
public class HJ92_FindLongestContinuousNumberString {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        List<String> strs = new ArrayList<>();
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            String a = in.next();
            // 利用正则, 将非数字的字符都去掉, 组成数组
            // 匹配任何非数字（0-9以外的字符）的一个或多个连续字符，并以这些字符作为分割点
            String[] digitArray = a.split("[^0-9]+");
            // 记录最长字符串长度
            int max = 0;
            for (String digit : digitArray) {
                if (max == 0 || digit.length() != 0 && digit.length() == max) {
                    // 若第一次比较或存在多个长度相同字符串, 添加即可
                    strs.add(digit);
                    max = digit.length();
                } else if (digit.length() > max) {
                    // 若长度大于已保存的字符串, 清空集合再添加
                    strs.clear();
                    strs.add(digit);
                    max = digit.length();
                }
            }

            // 打印结果
            System.out.println(String.join("", strs) + "," + max);
        }
    }
}